home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Mag HDD Backup
/
Amiga Mag HDD Backup.zip
/
Amiga Mag HDD Backup
/
Alexander.img.bin
/
Alexander.img
/
***9.11 All NEWer important
/
10.2
/
Finch⁄Front Ending C
/
Listing1.txt
< prev
next >
Wrap
Text File
|
1983-05-04
|
17KB
|
658 lines
Listing 1. CanDoMJ Deck
*************
* Deck "CanDoMJ"
* Time 15:36:09
* Date 03/05/94
*************
*************
* Card(s) in deck.
* Card "MJPlotPic"
* Card "MJSettings"
*************
* 2 Card(s), 2 were printed.
*************
*************
* Natural order of Cards
* Card "MJSettings"
* Card "MJPlotPic"
*************
*************
* There are no Global routines in this deck.
*************
*************
* Card "MJPlotPic"
AfterAttachment ; used to be AfterStartup
Nop ;Draw picture using CanDo code
If Arg1="GO"
SetDrawMode JAM2
Let SR=(HR-LR)*Resolution/(WindowWidth-1)
Let SI=(HI-LI)*Resolution/(WindowHeight-1)
Let HC=WindowColors-1
Let LC=0
Nop ;Begin iterations
Let X=0
Let Y=0
Let R=LR
Let I=HI
Nop ;Plot Mandelbrot set
If PlotType="M"
While Y<WindowHeight
While X<WindowWidth
Let LoopR=0
Let LoopI=0
Let Count=0
Loop
Let Temp=LoopR*LoopR-LoopI*LoopI+R
Let LoopI=2*LoopR*LoopI+I
Let LoopR=Temp
If (LoopR*LoopR+LoopI*LoopI)>4.0
ExitLoop
EndIf
Let Count=Count+1
Until Count>=MaxDwell
SetPen Count
If Resolution=1
DrawPixel X,Y
Else
AreaRectangle X,Y,Resolution,Resolution
EndIf
Let X=X+Resolution
Let R=R+SR
EndLoop
Let X=0
Let R=LR
Let Y=Y+Resolution
Let I=I-SI
EndLoop
Nop ;Plot Julia set
ElseIf PlotType="J"
While Y<WindowHeight
While X<WindowWidth
Let LoopR=R
Let LoopI=I
Let Count=0
Loop
If (LoopR*LoopR+LoopI*LoopI)>4.0
ExitLoop
EndIf
Let Count=Count+1
Let Temp=LoopR*LoopR-LoopI*LoopI+JR
Let LoopI=2*LoopR*LoopI+JI
Let LoopR=Temp
Until Count>=MaxDwell
SetPen Count
If Resolution=1
DrawPixel X,Y
Else
AreaRectangle X,Y,Resolution,Resolution
EndIf
Let X=X+Resolution
Let R=R+SR
EndLoop
Let X=0
Let R=LR
Let Y=Y+Resolution
Let I=I-SI
EndLoop
EndIf
Nop ;Draw picture using C code
ElseIf Arg1="GOC"
Let Command="RCF:C_Progs/CanDoMJC/CanDoMJC "
Let Command=Command||WindowAddress||" "
Let Command=Command||MaxDwell||" "
Let Command=Command||Resolution||" "
Let Command=Command||LR||" "||HR||" "||LI||" "||HI||" "
Let Command=Command||PlotType||" "
Let Command=Command||JR||" "||JI
Dos Command
ElseIf Arg1="SEE"
LoadPicture "ram:CanDoMJPic","MJPic"
ShowPicture "MJPic"
EndIf
EndScript
Window "UserWindow"
Definition
Origin 0,0
Size 320,200
Title ""
NumberOfColors 32,69632
WindowColors 0,1,0 ; Detail, Block, Background
WindowObjects NONE
WindowFlags ACTIVATE BORDERLESS SEPARATESCREEN TOFRONT
EndScript
OnCloseButton
Quit
EndScript
EndObject
AreaButton "NewRange"
Definition
Origin 0,0
Size 320,200
Border NONE ,2,1 ; BorderStyle, MainPen, ExtraPen
Highlight NONE
ButtonFlags NONE
EndScript
OnClick
Let BeginX=MouseX
Let BeginY=MouseY
Let CurrW=0
Let CurrH=0
SetDrawMode COMPLEMENT
DrawRectangle BeginX,BeginY,CurrW,CurrH
EndScript
OnDrag
If MouseX<>(CurrW+BeginX) or MouseY<>(CurrH+BeginY)
DrawRectangle BeginX,BeginY,CurrW,CurrH
Let CurrW=MouseX-BeginX
Let CurrH=MouseY-BeginY
DrawRectangle BeginX,BeginY,CurrW,CurrH
EndIf
EndScript
OnRelease
DrawRectangle BeginX,BeginY,CurrW,CurrH
Let Temp=LR+(HR-LR)*BeginX/(WindowWidth-1)
Let HR=LR+(HR-LR)*(BeginX+CurrW)/(WindowWidth-1)
Let LR=Temp
Let Temp=HI-(HI-LI)*(BeginY+CurrH)/(WindowHeight-1)
Let HI=HI-(HI-LI)*BeginY/(WindowHeight-1)
Let LI=Temp
ClipPicture "MJPic"
SavePicture "MJPic","ram:CanDoMJPic"
GotoCard "MJSettings","Reset"
EndScript
EndObject
TextMenu "SavePic"
Definition
AttachTo MENU ,"Options"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " Save Picture "
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey "S"
EndScript
Occurred
Let FNNew=AskForFileName(FN,"Save Picture")
If FNNew<>""
Let FN=FNNew
ClipPicture "MJPic"
SavePicture "MJPic",FN
EndIf
EndScript
EndObject
TextMenu "SetColors"
Definition
AttachTo MENU ,"Options"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " Set Colors "
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey "C"
EndScript
Occurred
LoadSubDeck "CanDo:Decks/ColorChange","CC"
OpenRequester "CC","ChangePalette"
EndScript
EndObject
TextMenu "ToMJSettings"
Definition
AttachTo MENU ,"Options"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " To Settings "
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey "T"
EndScript
Occurred
ClipPicture "MJPic"
SavePicture "MJPic","ram:CanDoMJPic"
GotoCard "MJSettings","Reset"
EndScript
EndObject
* End of Card "MJPlotPic"
*************
*************
* Card "MJSettings"
BeforeAttachment ; used to be OnStartup
If Invocation=0
Let MaxDwell=15
Let Resolution=1
Let PlotType="M"
EndIf
Let Invocation=1
EndScript
AfterAttachment ; used to be AfterStartup
Nop ;Remove check mark from all menu subitems
SetObjectState "MD15",OFF
SetObjectState "MD31",OFF
SetObjectState "MD63",OFF
SetObjectState "MD127",OFF
SetObjectState "RES1",OFF
SetObjectState "RES2",OFF
SetObjectState "RES4",OFF
SetObjectState "RES8",OFF
SetObjectState "Mandelbrot",OFF
SetObjectState "Julia",OFF
Nop ;Put check mark on appropriate menu subitems
SetObjectState "MD"||MaxDwell,ON
SetObjectState "RES"||Resolution,ON
If PlotType="M"
SetObjectState "Mandelbrot",ON
Else
SetObjectState "Julia",ON
EndIf
Nop ;Set text entries if they changed
If Arg1="Reset"
SetText "LowReal",LR
SetText "HighReal",HR
SetText "LowImag",LI
SetText "HighImag",HI
SetText "JReal",JR
SetText "JImag",JI
EndIf
SetPrintFont "CGTimes",20
SetPrintStyle EMBOSSED ,2,11
SetPen 1,0
SetDrawMode JAM1
PrintText "MANDELBROT OR JULIA SET BOUNDARIES",220,18
SetPrintFont "Pearl",11
SetPrintStyle BOLD EMBOSSED ,2,6
SetPen 1,0
SetDrawMode JAM1
PrintText " Low Real Value:",227,56
PrintText " High Real Value:",227,86
PrintText " Low Imaginary Value:",227,116
PrintText "High Imaginary Value:",227,146
PrintText "Julia Real Value:",12,168
PrintText "Julia Imag Value:",12,183
SetPrintFont "Pearl",8
SetPrintStyle EMBOSSED ,2,3
SetPen 1,0
SetDrawMode JAM1
PrintText "See Picture",73,149
EndScript
Routine "DrawMJPic"
Let LR=TextFrom("LowReal")
Let HR=TextFrom("HighReal")
Let LI=TextFrom("LowImag")
Let HI=TextFrom("HighImag")
Let JR=TextFrom("JReal")
Let JI=TextFrom("JImag")
GotoCard "MJPlotPic",Arg1
EndScript
Window "UserWindow"
Definition
Origin 0,0
Size 640,200
Title "CanDoMJ"
NumberOfColors 16,102400
WindowColors 0,1,0 ; Detail, Block, Background
WindowObjects CLOSEBUTTON
WindowFlags ACTIVATE SEPARATESCREEN TOFRONT
EndScript
OnCloseButton
Quit
EndScript
EndObject
TextButton "Go"
Definition
Origin 561,179
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 1,0,NORMAL ; PenA, PenB, DrawMode
Text " GO "
Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
Highlight COMPLEMENT
ButtonFlags NONE
EndScript
OnRelease
Do "DrawMJPic","GO"
EndScript
EndObject
TextField "LowReal"
Definition
Origin 412,59
Size 200,8
Justification LEFT
MaxFieldLength 32
InitialText "-2.9"
Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
EndScript
OnRelease
SetObjectState "HighReal",ON
EndScript
EndObject
TextField "HighReal"
Definition
Origin 412,89
Size 200,8
Justification LEFT
MaxFieldLength 32
InitialText "2.9"
Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
EndScript
OnRelease
SetObjectState "LowImag",ON
EndScript
EndObject
TextField "LowImag"
Definition
Origin 412,119
Size 200,8
Justification LEFT
MaxFieldLength 32
InitialText "-2.0"
Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
EndScript
OnRelease
SetObjectState "HighImag",ON
EndScript
EndObject
TextField "HighImag"
Definition
Origin 412,149
Size 200,8
Justification LEFT
MaxFieldLength 32
InitialText "2.0"
Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
EndScript
OnRelease
SetObjectState "JReal",ON
EndScript
EndObject
TextField "JImag"
Definition
Origin 161,186
Size 200,8
Justification LEFT
MaxFieldLength 32
InitialText "0.0"
Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
EndScript
OnRelease
SetObjectState "LowReal",ON
EndScript
EndObject
TextField "JReal"
Definition
Origin 161,171
Size 200,8
Justification LEFT
MaxFieldLength 32
InitialText "0.5"
Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
EndScript
OnRelease
SetObjectState "JImag",ON
EndScript
EndObject
TextButton "GoC"
Definition
Origin 471,179
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 1,0,NORMAL ; PenA, PenB, DrawMode
Text " GO C "
Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
Highlight COMPLEMENT
ButtonFlags NONE
EndScript
OnRelease
Do "DrawMJPic","GOC"
EndScript
EndObject
ImageButton "SeeMJPic"
Definition
Origin 28,19
Image "CanDo:Brushes/CanDoMJButton.br"
Highlight COMPLEMENT
ButtonFlags NONE
EndScript
OnRelease
Do "DrawMJPic","SEE"
EndScript
EndObject
TextMenu "MaxDwell"
Definition
AttachTo MENU ,"PlotInfo"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text "Max Dwell"
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey ""
EndScript
EndObject
TextMenu "MD15"
Definition
AttachTo OBJECT ,"MaxDwell"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 15 "
MenuFlags CHECKABLE CHECKIT
Highlight COMPLEMENT
ShortCutKey "1"
EndScript
Occurred
Let MaxDwell=15
SetObjectState "MD31",OFF
SetObjectState "MD63",OFF
SetObjectState "MD127",OFF
EndScript
EndObject
TextMenu "MD31"
Definition
AttachTo OBJECT ,"MaxDwell"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 31 "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "2"
EndScript
Occurred
Let MaxDwell=31
SetObjectState "MD15",OFF
SetObjectState "MD63",OFF
SetObjectState "MD127",OFF
EndScript
EndObject
TextMenu "MD63"
Definition
AttachTo OBJECT ,"MaxDwell"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 63 "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "3"
EndScript
Occurred
Let MaxDwell=63
SetObjectState "MD15",OFF
SetObjectState "MD31",OFF
SetObjectState "MD127",OFF
EndScript
EndObject
TextMenu "MD127"
Definition
AttachTo OBJECT ,"MaxDwell"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 127 "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "4"
EndScript
Occurred
Let MaxDwell=127
SetObjectState "MD15",OFF
SetObjectState "MD31",OFF
SetObjectState "MD63",OFF
EndScript
EndObject
TextMenu "Resolution"
Definition
AttachTo MENU ,"PlotInfo"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text "Resolution"
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey ""
EndScript
EndObject
TextMenu "RES1"
Definition
AttachTo OBJECT ,"Resolution"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 1 "
MenuFlags CHECKABLE CHECKIT
Highlight COMPLEMENT
ShortCutKey "5"
EndScript
Occurred
Let Resolution=1
SetObjectState "RES2",OFF
SetObjectState "RES4",OFF
SetObjectState "RES8",OFF
EndScript
EndObject
TextMenu "PlotType"
Definition
AttachTo MENU ,"PlotInfo"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text "Plot Type"
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey ""
EndScript
EndObject
TextMenu "Mandelbrot"
Definition
AttachTo OBJECT ,"PlotType"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " Mandelbrot "
MenuFlags CHECKABLE CHECKIT
Highlight COMPLEMENT
ShortCutKey "M"
EndScript
Occurred
Let PlotType="M"
SetObjectState "Julia",OFF
EndScript
EndObject
TextMenu "Julia"
Definition
AttachTo OBJECT ,"PlotType"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " Julia "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "J"
EndScript
Occurred
Let PlotType="J"
SetObjectState "Mandelbrot",OFF
EndScript
EndObject
TextMenu "RES2"
Definition
AttachTo OBJECT ,"Resolution"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 2 "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "6"
EndScript
Occurred
Let Resolution=2
SetObjectState "RES1",OFF
SetObjectState "RES4",OFF
SetObjectState "RES8",OFF
EndScript
EndObject
TextMenu "RES4"
Definition
AttachTo OBJECT ,"Resolution"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 4 "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "7"
EndScript
Occurred
Let Resolution=4
SetObjectState "RES1",OFF
SetObjectState "RES2",OFF
SetObjectState "RES8",OFF
EndScript
EndObject
TextMenu "RES8"
Definition
AttachTo OBJECT ,"Resolution"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text " 8 "
MenuFlags CHECKABLE
Highlight COMPLEMENT
ShortCutKey "8"
EndScript
Occurred
Let Resolution=8
SetObjectState "RES1",OFF
SetObjectState "RES2",OFF
SetObjectState "RES4",OFF
EndScript
EndObject
TextMenu "Default"
Definition
AttachTo MENU ,"PlotInfo"
Font "topaz",8 ; FontName, PointSize
PrintStyle PLAIN ,2,3 ; Style, Pen1, Pen2
TextColors 0,1,NORMAL ; PenA, PenB, DrawMode
Text "Default Settings"
MenuFlags NONE
Highlight COMPLEMENT
ShortCutKey "D"
EndScript
Occurred
GotoCard "MJSettings"
EndScript
EndObject
* End of Card "MJSettings"
*************